using Cysharp.Threading.Tasks;

namespace M13.Game.Entity.FSM
{
    public interface IState
    {
        bool TryEnter();
        bool TryExit();
        void Enter();
        void Exit();
        void Update();
        void FixedUpdate();
        void OnDrawGizmos();
        string GetStateName();
        string GetAnimName();
        UniTask GetAnimPlayTask();
        float GetAnimPlayProgress();
        public bool IsCurrentAnimPlaying(string animName);
    }
}